import { defineConfig, loadEnv } from 'vite'
import vue from '@vitejs/plugin-vue'

// 需要安装@types/node
import path from 'path'

/**设置别名  另需配置tsconfig.json*/
const alias: Record<string, string> = {
  '@': path.resolve(__dirname, 'src'),
}

// 配置：https://cn.vitejs.dev/config/
export default defineConfig(({ command, mode }) => {
  // 根据当前工作目录中的 `mode` 加载 .env 文件
  // 设置第三个参数为 '' 来加载所有环境变量，而不管是否有 `VITE_` 前缀。
  const env = loadEnv(mode, process.cwd(), '')
  if (command === 'serve') {
    return {
      // dev 独有配置
      resolve: {
        alias,
      },
      server: {
        port: 81, //端口
        open: true, //自动打开浏览器
        proxy: {
          [env.VITE_BASE_API]: {
            target: `http://localhost:8080`,
            changeOrigin: true,
            rewrite: (path: string) => path.replace('^' + env.VITE_BASE_API, ''),
          },
        },
      },
      plugins: [vue()],
      css: {
        preprocessorOptions: {
          scss: {
            additionalData: '@import "@/assets/style/index.scss";'
          }
        }
      }
    }
  } else {
    // command === 'build'
    return {
      // build 独有配置
    }
  }
  
})
